/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package elaborate.h2x.transform.position.schema.statematcher;

import elaborate.h2x.transform.position.schema.state.ElementState;
import elaborate.h2x.transform.position.schema.state.PseudoState;
import elaborate.h2x.transform.position.schema.state.State;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author lendle
 */
public class DefaultStateMatchingContextImpl implements StateMatchingContext{

    protected List<PseudoState> activePseudoStates = new ArrayList<PseudoState>();

    /**
     * Get the value of activePseudoStates
     *
     * @return the value of activePseudoStates
     */
    public List<PseudoState> getActivePseudoStates() {
        return new ArrayList<PseudoState>(activePseudoStates);
    }

    /**
     * Set the value of activePseudoStates
     *
     * @param activePseudoStates new value of activePseudoStates
     */
    public void setActivePseudoStates(List<PseudoState> activePseudoStates) {
        this.activePseudoStates.clear();
        this.activePseudoStates.addAll(activePseudoStates);
    }

    public List<PseudoState> getPseudoStatesByFirstState(State firstState) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<PseudoState> getPseudoStatesByLastState(State lastState) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<ElementState> getElementStatesUnderPseudoState(PseudoState pseudoState) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public boolean isPseudoStateSatisfied(PseudoState pseudoState) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<PseudoState> getAllPseudoStates() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<ElementState> getAllElementStates() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
}
